package com.sxt.core.regeister.impl;

import org.I0Itec.zkclient.ZkClient;

import com.sxt.core.regeister.Regeister;

/**
 * 服务上线注册的实现类 使用zk 实现 注册中心的功能
 * 
 * @author Liushuangxi
 *
 */
public class ZkRegeisterImpl implements Regeister {
	private static ZkClient zkClient = null;
	static {
		zkClient = new ZkClient("192.168.15.137:2181,192.168.15.137:2182,192.168.15.137:2183");
	}

	@Override
	public void regeister(String serverName, String serverAddress) {
		// 判断zookeeper是否存在serverName
		if (!zkClient.exists("/" + serverName)) {
			// 不存在则创建
			zkClient.createPersistent("/" + serverName);
		}
		// 判断是否存在服务名称
		if (zkClient.exists("/" + serverName + "/" + serverAddress)) {
			// 存在则删除
			zkClient.delete("/" + serverName + "/" + serverAddress);
		}

		// 创建临时服务节点
		 zkClient.createEphemeral("/"+serverName+"/"+serverAddress);
		 System.out.println("服务： "+serverName+",在： "+serverAddress+"注册成功了");
	}

	public static void main(String[] args) {
		ZkRegeisterImpl zk = new ZkRegeisterImpl();
		zk.regeister("java","localhost:8888");
		System.out.println(zkClient);
	}

}
